package clientes;

public class RepositorioClientesLista implements RepositorioClientes{

	private Cliente cliente;

	private RepositorioClientesLista proximo;

	public RepositorioClientesLista() {
		cliente = null;
		proximo = null;
	}//construtor inicializa as variaveis cliente e proximo com null 
	
		
	public void inserir(Cliente cliente) {
		if (this.cliente != null) {
			proximo.inserir(cliente);
		} else {
			this.cliente = cliente;
			this.proximo = new RepositorioClientesLista();
		}
	}

	public void atualizar(Cliente cliente){
		String cpf;
		cpf = cliente.getIdentificador();
		if (this.cliente != null) {
			if (this.cliente.getIdentificador().equals(cpf)) {
				this.cliente = cliente;
			}
			else {
				proximo.atualizar(cliente);
			}
		} 
		else {
			System.out.println("Cliente Nao Encontrado !!!");
		}
	}

	public void remover(String cpf) {
		if (this.cliente != null) {
			if (this.cliente.getIdentificador().equals(cpf)) {
				this.cliente = proximo.cliente;
				this.proximo = proximo.proximo;
			} else {
				proximo.remover(cpf);
			}
		} else {
			System.out.println("Cliente Nao Encontrado !!!");
		}
	}

	public Cliente procurar(String cpf) {
		Cliente resposta;
		if (this.cliente != null) {
			if (this.cliente.getIdentificador().equals(cpf)) {
				resposta = this.cliente;
			} 
			else {
				resposta = proximo.procurar(cpf);
			}
		} 
		else {
			resposta = null;
		}
		if(resposta == null){
			System.out.println("Cliente Nao Encontrado !!!");
			return null;
		}else
		    return resposta;
	}

	public boolean existe(String cpf) {
		boolean resposta;
		if (this.cliente != null) {
			if (this.cliente.getIdentificador().equals(cpf)) {
				resposta = true;
			} else {
				resposta = proximo.existe(cpf);
			}
		} else {
			resposta = false;
		}
		return resposta;
	}
}	
	


